ก้าวเข้าสู่ มุมมองระดับเครื่องจักรของโปรแกรม, ซึ่งความซับซ้อนของฮาร์ดแวร์ถูกสรุปเป็นโครงสร้างที่ชัดเจนในรูปแบบของ พื้นที่ที่อยู่เสมือนจริง. ในมุมมองนี้ หน่วยความจำไม่ใช่แค่การรวมตัวของตัวแปร แต่คืออาร์เรย์ขนาดใหญ่ต่อเนื่องของบล็อก 8 บิต ที่เรียกว่า ไบต์. สำหรับเครื่องที่มีขนาดคำ (word) $w$ บิต ที่อยู่เหล่านี้จะมีค่าตั้งแต่ $0$ ถึง $2^w - 1$ ซึ่งกำหนดข้อจำกัดของขอบเขตที่โปรแกรมสามารถเข้าถึงได้
1. ศักยภาพของเลขฐานสิบหก
เลขฐานสองคือภาษาของวงจรไฟฟ้า แต่ การเขียนเลขฐานสิบหก คือภาษาของนักพัฒนาโปรแกรม เพราะ $16 = 2^4$ ดังนั้นเลขฐานสิบหกหนึ่งหลัก (0–F) จับคู่กับไบต์ 4 บิตได้อย่างสมบูรณ์แบบ ทำให้ค่า 1 ไบต์สามารถเขียนแสดงได้อย่างกระชับด้วยตัวเลขเพียงสองหลัก (เช่น 0xFF) ซึ่งเป็นการเขียนย่อที่จำเป็นต่อการอ่าน รหัสเครื่อง และ โค้ดระดับอะเซมบลีเช่น คำสั่ง 4004dc: 48 03 47 28.
2. ความแม่นยำและการคำนวณ
เมื่อเราดำเนินการกับ ประเภทข้อมูลจำนวนเต็มเราจะพบกับ วงแหวนบูลีน และ ตรรกะสองส่วนเสริม ตรรกะ เราต้องจัดการกับ การจัดเก็บแบบเล็กสุด การจัดเก็บ, การเกินขอบเขตจำนวนเต็มและรายละเอียดของ ความละเอียดเดี่ยว ทศนิยมที่มี อนันต์ ($+\infty$) และ NaN อยู่ ความเข้าใจรูปแบบบิตเหล่านี้คือก้าวแรกในการเชี่ยวชาญ การคำนวณขนาดใดก็ได้ และโปรแกรมระบบที่แข็งแรง